import java.util.Scanner;

public class Test2 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            int len = in.nextInt();
            in.nextLine();
            int[] nums = new int[len];
            for (int i = 0; i < len; i++) {
                nums[i] = in.nextInt();
            }
            // 对于第i个元素来说，有两种状态：取和不取，所以通过一个二维数组来维护这两种状态
            // dp[i][0]表示第i个元素不取时候的最大和，dp[i][1]表示第i个元素取的时候的最大和
            // dp[i][0] = Math.max(Math.max(dp[i-1][0], dp[i-1][1]), dp[i-2][1]);
            // dp[i][1] = Math.max(Math.max(dp[i-2][0], dp[i-2][1]), dp[i-1][0]);
            int[][] dp = new int[len+2][2];
            for (int i = 2; i < len+2; i++) {
                dp[i][0] = Math.max(Math.max(dp[i-1][0], dp[i-1][1]), dp[i-2][1]);
                dp[i][1] = Math.max(Math.max(dp[i-2][0], dp[i-2][1]), dp[i-1][0]) + nums[i-2];
            }
            System.out.println(Math.max(dp[len+1][0], dp[len+1][1]));
        }
    }
}
